<?php
namespace app\common\library;

use Firebase\JWT\JWT;
use Firebase\JWT\Key;

class JwtUtil
{
    // 密钥（需保密）
    private static $key = 'wuwo-elec-scale';

    // 生成 Token
    public static function generateToken($userId, $expire = 7200*12*30)
    {
        $payload = [
            'iss' => 'wuwo',    // 签发者
            'iat' => time(),        // 签发时间
            'exp' => time() + $expire, // 过期时间（默认2小时）
            'user_id' => $userId    // 自定义数据
        ];
        return JWT::encode($payload, self::$key, 'HS256');
    }

    // 验证 Token
    public static function validateToken($token)
    {
        try {
            $decoded = JWT::decode($token, new Key(self::$key, 'HS256'));
            return (array)$decoded;
        } catch (\Exception $e) {
            return false;
        }
    }
}